﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;
using Helper;

namespace CoreData
{
    //thong tin nguoi dat coc
   public class VwTempStudentDepositInfo
    {
        public long ID { get; set; }
        [Description("Mã")]
        public string Code { get; set; }
        [Description("Tên học viên tiềm năng")]
        public string Name { get; set; }
        [Description("Họ")]
        public string FirstName { get; set; }
        [Description("Tên")]
        public string LastName { get; set; }
        [Description("Ngành")]
        public string BranchID { get; set; }
        [Description("Địa chỉ")]
        public string Address { get; set; }
        [Description("Điện thoại")]
        public string Phone { get; set; }
        [Description("Email")]
        public string Email { get; set; }
        public long TempStudenID { get; set; }
        [Description("Ghi chú")]
        public string Note { get; set; }
        /// <summary>
        /// Ngày mà học viên liên hệ
        /// </summary>
        [Description("Ngày học viên liên hệ")]
        public DateTime ContactDate { get; set; }
        [Description("Tháng")]
        public int MonthExt { get; set; }
        [Description("Năm")]
        public int YearExt { get; set; }
       [Description("Tháng chọn học")]
        public int SelectMonth { get; set; }
       [Description("Năm chọn học")]
       public int SelectYear { get; set; }


       static VwTempStudentDepositInfo DynamicCast<T>(object row_data, object row_header) where T : VwTempStudentDepositInfo
       {
           // row_data : DataRow
           // row_header : DataColumnCollection
           VwTempStudentDepositInfo ret = new VwTempStudentDepositInfo();
           DataRow dt = (DataRow)row_data;

           foreach (DataColumn column in (DataColumnCollection)row_header)
           {
               switch (column.ColumnName)
               {
                   case "ID":
                       ret.ID = ConvertObject.ToLong(dt[column]);
                       break;
                   case "Code":
                       ret.Code = ConvertObject.ToString(dt[column]);
                       break;
                   case "Name":
                       ret.Name = ConvertObject.ToString(dt[column]);
                       break;
                   case "Address":
                       ret.Address = ConvertObject.ToString(dt[column]);
                       break;
                   case "Phone":
                       ret.Phone = ConvertObject.ToString(dt[column]);
                       break;
                   case "Email":
                       ret.Email = ConvertObject.ToString(dt[column]);
                       break;            
                   case "FirstName":
                       ret.FirstName = ConvertObject.ToString(dt[column]);
                       break;
                   case "LastName":
                       ret.LastName = ConvertObject.ToString(dt[column]);
                       break;
                   case "BranchName":
                       ret.BranchID = ConvertObject.ToString(dt[column]);
                       break;
                   case "ContactDate":
                       {
                           ret.ContactDate = ConvertObject.ToDateTime(dt[column]);
                           ret.MonthExt = ret.ContactDate.Month;
                           ret.YearExt = ret.ContactDate.Year;
                       }
                       break;
                   case "TempStudenID":
                       ret.TempStudenID = ConvertObject.ToLong(dt[column]);
                       break;
                   case "DepositNote":
                       ret.Note = ConvertObject.ToString(dt[column]);
                       break;
                   case "SelectMonth":
                       ret.SelectMonth = ConvertObject.ToInt(dt[column]);
                       break;
                   case "SelectYear":
                       ret.SelectYear = ConvertObject.ToInt(dt[column]);
                       break;
                   default:
                       break;
               }
           }

           return ret;
       }
    }
}
